{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "complicated-voluntary",
   "metadata": {},
   "source": [
    "# Adding weights to rolling window features"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "promotional-worcester",
   "metadata": {},
   "source": [
    "[Feature Engineering for Time Series Forecasting](https://www.trainindata.com/p/feature-engineering-for-forecasting)\n",
    "\n",
    "In this notebook we demonstrate how to add weights to rolling window features using Pandas and sktime.\n",
    "\n",
    "\n",
    "## Data set synopsis\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "876b948e-2e7f-4321-9ff8-1b9734f4be6f",
   "metadata": {},
   "source": [
    "We will work with the hourly electricity demand dataset. It is the electricity demand for the state of Victora in Australia from 2002 to the start of 2015. \n",
    "\n",
    "For instructions on how to download, prepare, and store the dataset, refer to notebook number 4, in the folder \"01-Create-Datasets\" from this repo.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "hybrid-fever",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "\n",
    "sns.set_context(\"talk\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "confirmed-things",
   "metadata": {},
   "source": [
    "# Load data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "intended-logan",
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv(\n",
    "    \"../Datasets/victoria_electricity_demand.csv\",\n",
    "    usecols=[\"demand\", \"temperature\", \"date_time\"],\n",
    "    index_col=[\"date_time\"],\n",
    "    parse_dates=[\"date_time\"],\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "d5252f36-7633-46f0-8f9b-d4707fac9330",
   "metadata": {},
   "outputs": [],
   "source": [
    "# For this demo we will use a subset of the data\n",
    "data = data.loc[\"2010\":]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "functional-steal",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>demand</th>\n",
       "      <th>temperature</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-01-01 00:00:00</th>\n",
       "      <td>8314.448682</td>\n",
       "      <td>21.525</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 01:00:00</th>\n",
       "      <td>8267.187296</td>\n",
       "      <td>22.400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 02:00:00</th>\n",
       "      <td>7394.528444</td>\n",
       "      <td>22.150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 03:00:00</th>\n",
       "      <td>6952.047520</td>\n",
       "      <td>21.800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 04:00:00</th>\n",
       "      <td>6867.199634</td>\n",
       "      <td>20.250</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                          demand  temperature\n",
       "date_time                                    \n",
       "2010-01-01 00:00:00  8314.448682       21.525\n",
       "2010-01-01 01:00:00  8267.187296       22.400\n",
       "2010-01-01 02:00:00  7394.528444       22.150\n",
       "2010-01-01 03:00:00  6952.047520       21.800\n",
       "2010-01-01 04:00:00  6867.199634       20.250"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "certified-occupation",
   "metadata": {},
   "source": [
    "# Computing weighted rolling windows features using Pandas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "e43e3387-8ef6-4a87-9972-94f1ddba5833",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create a copy of the data.\n",
    "df = data.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ab077e61-2aac-402f-8a74-11d8a2d3739f",
   "metadata": {},
   "source": [
    "Let's compute the rolling weighted mean and weighted standard deviation. To achieve this we need to write our own functions to compute these statistics. The weighted mean and standard deviation are defined as follows:\n",
    "\n",
    "$$\n",
    "\\mu_w = \\frac{\\sum_i w_ix_i}{\\sum_i w_i}\n",
    "$$\n",
    "\n",
    "$$\n",
    "\\sigma_w = \\sqrt{\\frac{\\sum_i w_i(x_i - \\mu_w)^2}{\\sum_i w_i}}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "8a14d896-5466-405d-a8fe-5533e938dea3",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define our own weighted mean function to pass to .apply()\n",
    "def weighted_mean(x, weights):\n",
    "    return (weights * x).sum() / weights.sum()\n",
    "\n",
    "# Define our own weighted std function to pass to .apply()\n",
    "def weighted_std(x, weights):\n",
    "    mean_w = weighted_mean(x, weights)\n",
    "    var_w = (weights * (x - mean_w)**2).sum() / weights.sum()\n",
    "    return np.sqrt(var_w)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e1914a6c-b005-496d-b0a8-6d95de35872f",
   "metadata": {},
   "source": [
    "Let's compute the rolling weighted mean and standard deviation. The weights and window size are not independent. They must be the same size."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "e0095646-701e-4266-bed4-eb83c1c27eef",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>demand_weighted_window_168_mean</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_time</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-01-01 01:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 02:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 03:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 04:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 05:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 20:00:00</th>\n",
       "      <td>9466.041052</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 21:00:00</th>\n",
       "      <td>9456.912218</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 22:00:00</th>\n",
       "      <td>9441.317448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 23:00:00</th>\n",
       "      <td>9423.399669</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-01 00:00:00</th>\n",
       "      <td>9410.449154</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>45240 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     demand_weighted_window_168_mean\n",
       "date_time                                           \n",
       "2010-01-01 01:00:00                              NaN\n",
       "2010-01-01 02:00:00                              NaN\n",
       "2010-01-01 03:00:00                              NaN\n",
       "2010-01-01 04:00:00                              NaN\n",
       "2010-01-01 05:00:00                              NaN\n",
       "...                                              ...\n",
       "2015-02-28 20:00:00                      9466.041052\n",
       "2015-02-28 21:00:00                      9456.912218\n",
       "2015-02-28 22:00:00                      9441.317448\n",
       "2015-02-28 23:00:00                      9423.399669\n",
       "2015-03-01 00:00:00                      9410.449154\n",
       "\n",
       "[45240 rows x 1 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Specify weights\n",
    "# Here we shall use linear weights\n",
    "weights = np.arange(1, 24 * 7 + 1)  # [1, 2, ..., 168]\n",
    "\n",
    "# Compute weighted mean\n",
    "result = (\n",
    "    df[\"demand\"]\n",
    "    .rolling(window=24 * 7) # Pick window size. Needs to be same as len(weights).\n",
    "    .apply(weighted_mean, args=(weights,)) # Apply our custom function.\n",
    "    .shift(freq=\"1H\") # Lag by 1 hour to avoid data leakage.\n",
    "    .to_frame() # Convert output from Series to DataFrame.\n",
    ")  \n",
    "\n",
    "result.columns = [\"demand_weighted_window_168_mean\"]\n",
    "\n",
    "result"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b8d15c6e-051e-4eb6-92b8-01166466ca2a",
   "metadata": {},
   "source": [
    "Let's join the result back to our original dataframe."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "2326da70-ad32-4573-80a0-d6f40260a8ab",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>demand</th>\n",
       "      <th>temperature</th>\n",
       "      <th>demand_weighted_window_168_mean</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-01-01 00:00:00</th>\n",
       "      <td>8314.448682</td>\n",
       "      <td>21.525</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 01:00:00</th>\n",
       "      <td>8267.187296</td>\n",
       "      <td>22.400</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 02:00:00</th>\n",
       "      <td>7394.528444</td>\n",
       "      <td>22.150</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 03:00:00</th>\n",
       "      <td>6952.047520</td>\n",
       "      <td>21.800</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 04:00:00</th>\n",
       "      <td>6867.199634</td>\n",
       "      <td>20.250</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 19:00:00</th>\n",
       "      <td>9596.777060</td>\n",
       "      <td>28.350</td>\n",
       "      <td>9466.913081</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 20:00:00</th>\n",
       "      <td>8883.230296</td>\n",
       "      <td>22.200</td>\n",
       "      <td>9466.041052</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 21:00:00</th>\n",
       "      <td>8320.260550</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9456.912218</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 22:00:00</th>\n",
       "      <td>8110.055916</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9441.317448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 23:00:00</th>\n",
       "      <td>8519.368752</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9423.399669</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>45240 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                          demand  temperature  demand_weighted_window_168_mean\n",
       "date_time                                                                     \n",
       "2010-01-01 00:00:00  8314.448682       21.525                              NaN\n",
       "2010-01-01 01:00:00  8267.187296       22.400                              NaN\n",
       "2010-01-01 02:00:00  7394.528444       22.150                              NaN\n",
       "2010-01-01 03:00:00  6952.047520       21.800                              NaN\n",
       "2010-01-01 04:00:00  6867.199634       20.250                              NaN\n",
       "...                          ...          ...                              ...\n",
       "2015-02-28 19:00:00  9596.777060       28.350                      9466.913081\n",
       "2015-02-28 20:00:00  8883.230296       22.200                      9466.041052\n",
       "2015-02-28 21:00:00  8320.260550       18.900                      9456.912218\n",
       "2015-02-28 22:00:00  8110.055916       18.900                      9441.317448\n",
       "2015-02-28 23:00:00  8519.368752       18.900                      9423.399669\n",
       "\n",
       "[45240 rows x 3 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.join(result, how=\"left\")\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e06a55c7-669c-4845-a5b9-089e6ffe330d",
   "metadata": {},
   "source": [
    "Let's compute the weighted standard deviation now."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "59c8afce-7e95-494b-8331-b7713b44c3c0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>demand</th>\n",
       "      <th>temperature</th>\n",
       "      <th>demand_weighted_window_168_mean</th>\n",
       "      <th>demand_weighted_window_168_std</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-01-01 00:00:00</th>\n",
       "      <td>8314.448682</td>\n",
       "      <td>21.525</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 01:00:00</th>\n",
       "      <td>8267.187296</td>\n",
       "      <td>22.400</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 02:00:00</th>\n",
       "      <td>7394.528444</td>\n",
       "      <td>22.150</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 03:00:00</th>\n",
       "      <td>6952.047520</td>\n",
       "      <td>21.800</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 04:00:00</th>\n",
       "      <td>6867.199634</td>\n",
       "      <td>20.250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 19:00:00</th>\n",
       "      <td>9596.777060</td>\n",
       "      <td>28.350</td>\n",
       "      <td>9466.913081</td>\n",
       "      <td>1343.553689</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 20:00:00</th>\n",
       "      <td>8883.230296</td>\n",
       "      <td>22.200</td>\n",
       "      <td>9466.041052</td>\n",
       "      <td>1333.021400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 21:00:00</th>\n",
       "      <td>8320.260550</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9456.912218</td>\n",
       "      <td>1324.023135</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 22:00:00</th>\n",
       "      <td>8110.055916</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9441.317448</td>\n",
       "      <td>1319.287373</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 23:00:00</th>\n",
       "      <td>8519.368752</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9423.399669</td>\n",
       "      <td>1316.644563</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>45240 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                          demand  temperature  \\\n",
       "date_time                                       \n",
       "2010-01-01 00:00:00  8314.448682       21.525   \n",
       "2010-01-01 01:00:00  8267.187296       22.400   \n",
       "2010-01-01 02:00:00  7394.528444       22.150   \n",
       "2010-01-01 03:00:00  6952.047520       21.800   \n",
       "2010-01-01 04:00:00  6867.199634       20.250   \n",
       "...                          ...          ...   \n",
       "2015-02-28 19:00:00  9596.777060       28.350   \n",
       "2015-02-28 20:00:00  8883.230296       22.200   \n",
       "2015-02-28 21:00:00  8320.260550       18.900   \n",
       "2015-02-28 22:00:00  8110.055916       18.900   \n",
       "2015-02-28 23:00:00  8519.368752       18.900   \n",
       "\n",
       "                     demand_weighted_window_168_mean  \\\n",
       "date_time                                              \n",
       "2010-01-01 00:00:00                              NaN   \n",
       "2010-01-01 01:00:00                              NaN   \n",
       "2010-01-01 02:00:00                              NaN   \n",
       "2010-01-01 03:00:00                              NaN   \n",
       "2010-01-01 04:00:00                              NaN   \n",
       "...                                              ...   \n",
       "2015-02-28 19:00:00                      9466.913081   \n",
       "2015-02-28 20:00:00                      9466.041052   \n",
       "2015-02-28 21:00:00                      9456.912218   \n",
       "2015-02-28 22:00:00                      9441.317448   \n",
       "2015-02-28 23:00:00                      9423.399669   \n",
       "\n",
       "                     demand_weighted_window_168_std  \n",
       "date_time                                            \n",
       "2010-01-01 00:00:00                             NaN  \n",
       "2010-01-01 01:00:00                             NaN  \n",
       "2010-01-01 02:00:00                             NaN  \n",
       "2010-01-01 03:00:00                             NaN  \n",
       "2010-01-01 04:00:00                             NaN  \n",
       "...                                             ...  \n",
       "2015-02-28 19:00:00                     1343.553689  \n",
       "2015-02-28 20:00:00                     1333.021400  \n",
       "2015-02-28 21:00:00                     1324.023135  \n",
       "2015-02-28 22:00:00                     1319.287373  \n",
       "2015-02-28 23:00:00                     1316.644563  \n",
       "\n",
       "[45240 rows x 4 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Specify weights\n",
    "weights = np.arange(1, 24 * 7 + 1)  # [1, 2, ..., 168]\n",
    "\n",
    "# Compute weighted standard deviation\n",
    "result = (\n",
    "    df[\"demand\"]\n",
    "    .rolling(window=24 * 7)  # Pick window size. Needs to be same as len(weights).\n",
    "    .apply(weighted_std, args=(weights,))  # Apply our custom function.\n",
    "    .shift(freq=\"1H\")  # Lag by 1 hour to avoid data leakage.\n",
    "    .to_frame() # Convert output from Series to DataFrame.\n",
    ")  \n",
    "\n",
    "result.columns = [\"demand_weighted_window_168_std\"]\n",
    "\n",
    "# Join the result back to the original dataframe.\n",
    "df = df.join(result, how=\"left\")\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4502a68f-a454-4d2c-8edf-f721539aef9d",
   "metadata": {},
   "source": [
    "Let's also compute the unnweighted rolling mean for comparison."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "quick-butler",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>mean</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_time</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-01-01 01:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 02:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 03:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 04:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 05:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 20:00:00</th>\n",
       "      <td>9654.616819</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 21:00:00</th>\n",
       "      <td>9638.018555</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 22:00:00</th>\n",
       "      <td>9624.108291</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 23:00:00</th>\n",
       "      <td>9613.687286</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-01 00:00:00</th>\n",
       "      <td>9605.340003</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>45240 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                            mean\n",
       "date_time                       \n",
       "2010-01-01 01:00:00          NaN\n",
       "2010-01-01 02:00:00          NaN\n",
       "2010-01-01 03:00:00          NaN\n",
       "2010-01-01 04:00:00          NaN\n",
       "2010-01-01 05:00:00          NaN\n",
       "...                          ...\n",
       "2015-02-28 20:00:00  9654.616819\n",
       "2015-02-28 21:00:00  9638.018555\n",
       "2015-02-28 22:00:00  9624.108291\n",
       "2015-02-28 23:00:00  9613.687286\n",
       "2015-03-01 00:00:00  9605.340003\n",
       "\n",
       "[45240 rows x 1 columns]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result = (\n",
    "    df[\"demand\"]\n",
    "    .rolling(window=24 * 7)  # Pick window size.\n",
    "    .agg([\"mean\"])  # Pass our own functions.\n",
    "    .shift(freq=\"1H\")  # Lag by 1 hour to avoid data leakage.\n",
    ")  \n",
    "\n",
    "result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "b807736b-2c14-4be8-9111-db88e1959f8c",
   "metadata": {},
   "outputs": [],
   "source": [
    "result.columns = [\"demand_window_168_mean\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f72dfd38-4458-4bb0-9e7e-332940102e86",
   "metadata": {},
   "source": [
    "Let's join this back to the original dataframe."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "9f272cba-a0ad-4f71-af12-edccaaf8b2e6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>demand</th>\n",
       "      <th>temperature</th>\n",
       "      <th>demand_weighted_window_168_mean</th>\n",
       "      <th>demand_weighted_window_168_std</th>\n",
       "      <th>demand_window_168_mean</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-01-01 00:00:00</th>\n",
       "      <td>8314.448682</td>\n",
       "      <td>21.525</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 01:00:00</th>\n",
       "      <td>8267.187296</td>\n",
       "      <td>22.400</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 02:00:00</th>\n",
       "      <td>7394.528444</td>\n",
       "      <td>22.150</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 03:00:00</th>\n",
       "      <td>6952.047520</td>\n",
       "      <td>21.800</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 04:00:00</th>\n",
       "      <td>6867.199634</td>\n",
       "      <td>20.250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 19:00:00</th>\n",
       "      <td>9596.777060</td>\n",
       "      <td>28.350</td>\n",
       "      <td>9466.913081</td>\n",
       "      <td>1343.553689</td>\n",
       "      <td>9670.463454</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 20:00:00</th>\n",
       "      <td>8883.230296</td>\n",
       "      <td>22.200</td>\n",
       "      <td>9466.041052</td>\n",
       "      <td>1333.021400</td>\n",
       "      <td>9654.616819</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 21:00:00</th>\n",
       "      <td>8320.260550</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9456.912218</td>\n",
       "      <td>1324.023135</td>\n",
       "      <td>9638.018555</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 22:00:00</th>\n",
       "      <td>8110.055916</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9441.317448</td>\n",
       "      <td>1319.287373</td>\n",
       "      <td>9624.108291</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 23:00:00</th>\n",
       "      <td>8519.368752</td>\n",
       "      <td>18.900</td>\n",
       "      <td>9423.399669</td>\n",
       "      <td>1316.644563</td>\n",
       "      <td>9613.687286</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>45240 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                          demand  temperature  \\\n",
       "date_time                                       \n",
       "2010-01-01 00:00:00  8314.448682       21.525   \n",
       "2010-01-01 01:00:00  8267.187296       22.400   \n",
       "2010-01-01 02:00:00  7394.528444       22.150   \n",
       "2010-01-01 03:00:00  6952.047520       21.800   \n",
       "2010-01-01 04:00:00  6867.199634       20.250   \n",
       "...                          ...          ...   \n",
       "2015-02-28 19:00:00  9596.777060       28.350   \n",
       "2015-02-28 20:00:00  8883.230296       22.200   \n",
       "2015-02-28 21:00:00  8320.260550       18.900   \n",
       "2015-02-28 22:00:00  8110.055916       18.900   \n",
       "2015-02-28 23:00:00  8519.368752       18.900   \n",
       "\n",
       "                     demand_weighted_window_168_mean  \\\n",
       "date_time                                              \n",
       "2010-01-01 00:00:00                              NaN   \n",
       "2010-01-01 01:00:00                              NaN   \n",
       "2010-01-01 02:00:00                              NaN   \n",
       "2010-01-01 03:00:00                              NaN   \n",
       "2010-01-01 04:00:00                              NaN   \n",
       "...                                              ...   \n",
       "2015-02-28 19:00:00                      9466.913081   \n",
       "2015-02-28 20:00:00                      9466.041052   \n",
       "2015-02-28 21:00:00                      9456.912218   \n",
       "2015-02-28 22:00:00                      9441.317448   \n",
       "2015-02-28 23:00:00                      9423.399669   \n",
       "\n",
       "                     demand_weighted_window_168_std  demand_window_168_mean  \n",
       "date_time                                                                    \n",
       "2010-01-01 00:00:00                             NaN                     NaN  \n",
       "2010-01-01 01:00:00                             NaN                     NaN  \n",
       "2010-01-01 02:00:00                             NaN                     NaN  \n",
       "2010-01-01 03:00:00                             NaN                     NaN  \n",
       "2010-01-01 04:00:00                             NaN                     NaN  \n",
       "...                                             ...                     ...  \n",
       "2015-02-28 19:00:00                     1343.553689             9670.463454  \n",
       "2015-02-28 20:00:00                     1333.021400             9654.616819  \n",
       "2015-02-28 21:00:00                     1324.023135             9638.018555  \n",
       "2015-02-28 22:00:00                     1319.287373             9624.108291  \n",
       "2015-02-28 23:00:00                     1316.644563             9613.687286  \n",
       "\n",
       "[45240 rows x 5 columns]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.join(result, how=\"left\")\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "71e2b068-c99e-4827-8aba-72f84d078f64",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'Time')"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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X4IgwZQrfVIi6Ty0EvzeOnc3lStXrVrFcccdR1lZGQsXLuQ3v/kNN910E6++GihgvXDhQs477zwOPPBAHnjgAS6++GJef/11jjzyyDZG1tq1azn33HM59dRTuf322yktLeWkk07iySef5I477uCCCy5gwYIFfPXVV5x33nkB27744os0NjYyf/58Fi1axKxZs1i0aBHnnttWnNrtdnPcccfRs2dP7r33Xo444gjuu+8+nnjiCbOPlJJTTjmFxYsXc84553DbbbdRWlrK3LlzQ/qcHA4Hhx9+eIAR9c0339DS0kJLSwvffutP91+6dClTp07tUizmtttu44033uCaa67h2muvZfny5Zx11lkBfZ588kkuuOAC+vTpw913383UqVOZPXs227dvD+jX1NTEzJkz+fe//828efO4++67SU1N5cwzz+S5556z7RhCZfXq1ezatYuhQ4dyxhlnkJGRYRpFK1asCOg7Y8YMamtrueCCC1i7di0lJSUsWrSI9957jwULFoT83hUVFcyePZtp06bxl7/8Ba/Xy2mnncZ//vMfzj//fH71q19xyy23UFJSwq9//euAPLxVq1YxZcoUNm7cyHXXXcfdd98NwAknnMBHH31k9vvmm2/44osv+PWvf83DDz/MhRdeyEcffcTMmTNpbGz7bLnoootYvXo1N998M/Pnz+fNN9/kkksuCfnYFDFGShkXP8CpaNEaM4Psf5De/xpL24vADkC06vsEUAckt9r2/Fb9+ujt14W6zxCPtTo3N1cqFArFbW+tlgMXvCUHLnhLnvvkV7EejqITft5VY35XFfUtHfY77a+fy4EL3pIPfbi+W+9XUlIiS0pK2r7gcUtZWRLxn+ayzXLNmh/lmjU/ypayzR3227pxjVyz5ke5Z+tarc3jDuv4Tj31VJmRkSFLS0vNtjVr1kin0ym16YmUW7ZskU6nU957770B23755ZdSCCEfe+wxs23gwIESkF995b+Onn/+eQnI/Px8WV5ebrZfd911EpDbtm0z2xobG9uM8c4775RCCLl161azbe7cuRKQd9xxR0DfcePGyQkTJpj/v/baaxKQ999/v9nm8Xjk9OnTJSCfeuqpLj8jgzvuuEMmJyebY7zzzjvlQQcdJEeNGiXvuusuKaWUDQ0NMjk5Wd5zzz3mdjNmzJAzZsww/1+yZIkE5OjRo6XL5TLb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Rcw7gb9yzv3z9HojIiIiIiIxUyAnIiIiIiISGc2RExERERERiYwCORERERERkcgokBMREREREYmMAjkREREREZHIKJATERERERGJjAI5ERERERGRyCiQExERERERiYwCORERkTlkZl83My3aKiIis6op7waIiIjEZIpB2VFz1hAREXlaM+d0k1BERKRWZvaGsk3PB94GfAX4Rdlj1wBDQKNzbmAemiciIk8TGpETERGZAufct7K/m1kTPpC7tfyxjOE5b5iIiDytaI6ciIjIHKo0Ry5sM7OVyc97zKzbzH5oZmuSfd5mZveb2YCZPWBmF1d5/teZ2c3J3/eZ2e1m9tvz0TcREcmPAjkREZH8/CvQDnwY+CrwSuAaM3s/8H7gG8CfAC3AD8xs3Jw7M/sY8F2gG/hQsm8fcLWZvXO+OiEiIvNPqZUiIiL5+aVzLg24zAzgcmAdcIpz7lCy/UbgbnwK5xXJtmcDVwKfcM59MPOcf2NmPwQ+YWZXOee656MjIiIyvzQiJyIikp/Plv0eiqVcFYI4AOfcr4BDwHGZfS8FHPANM+vIfgHXAkuAs+es5SIikiuNyImIiOTn0bLf9yffH6uw735gZeb3kwADHpjg+Tun3zQREalnCuRERERy4pwbrfJQte1W9rMDLpxg/3un2TQREalzCuRERETitBn4DWCbc+7+vBsjIiLzS3PkRERE4vTN5Pufm1lj+YNmprRKEZEC04iciIhIhJxz/2VmHwU+Cmwys6uB7UAXcAbwCvyyBSIiUkAK5ERERCLlnPszM7sD+EPgPcAiYDdwT7JNREQKypxzebdBREREREREpkBz5ERERERERCKjQE5ERERERCQyCuREREREREQio0BOREREREQkMgrkREREREREIqNATkREREREJDIK5ERERERERCKjQE5ERERERCQyCuREREREREQio0BOREREREQkMv8f9w2PTTfVKb8AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1008x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "cols = [\"demand\", \"demand_window_168_mean\", \"demand_weighted_window_168_mean\"]\n",
    "\n",
    "ax = (\n",
    "    df.iloc[-24 * 7 * 2 :] # Let's look at the last 2 weeks of data\n",
    "      .loc[:, cols] # Filter to columns of interest\n",
    "      .plot(figsize=[14, 7])\n",
    "    )  \n",
    "\n",
    "ax.set_title(\"Rolling window mean of electricity demand\")\n",
    "ax.set_ylabel(\"Electricity demand\")\n",
    "ax.set_xlabel(\"Time\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7e40c40b-904a-45dd-9100-dbbb70efed0c",
   "metadata": {},
   "source": [
    "As the weighted mean is far more sensitive to recent data we can see how the weighted mean fluctuates more due to the daily seasonality.\n",
    "\n",
    "If we want to use the weighted window functions to be more responsive to short term **trends** then de-seasonalising the data first may be helpful. See the time series decomposition section on how to de-seasonalise the data. We'll demo this in the 4th notebook of this section.\n",
    "\n",
    "Overall, we can see the weighted mean moves more quickly (not by much in this case) in response to changing trends in the data."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f67de229-6693-43f4-8bd1-4ec9d4ce17b9",
   "metadata": {},
   "source": [
    "## `agg` vs `apply`"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d748b06e-872d-4c16-84f3-323ab48e8cb8",
   "metadata": {},
   "source": [
    "`agg` was a helpful method because we could pass multiple statistics rather than just one.\n",
    "\n",
    "Can we use `agg` rather than `apply` now that we have a custom function which takes an argument? \n",
    "\n",
    "Yes, but we need to ensure that we don't pass any arguments (e.g., our weights) to our custom function. This can be achieved in multiple ways in Python, let's show two:\n",
    "- Assigning the arguments inside the function (not efficient as this assignment happens every time the function is called).\n",
    "\n",
    "```\n",
    "def f(x):\n",
    "    weights = np.array([1,2,3])\n",
    "    ...\n",
    "```\n",
    "\n",
    "- Creating a new function from the original function but with some of the arguments pre-set. This is done using `partial` from the in-built functools library (out of scope). Check out the [documentation](https://docs.python.org/3/library/functools.html) for more details.\n",
    "\n",
    "```\n",
    "from functools import partial\n",
    "\n",
    "def f(x, weights):\n",
    "    ...\n",
    "    \n",
    "f_new = partial(f, weights=np.array([1,2,3]))\n",
    "```\n",
    "\n",
    "Also, the number of weights needs to match the window size."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "f6e6405c-8f6e-42d0-8e12-5f110e2077f0",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define our own weighted mean function with weights defined inside\n",
    "def weighted_mean(x):\n",
    "    weights = np.arange(1, 24 * 7 + 1) # [1, 2, ..., 168]\n",
    "    return (weights * x).sum() / weights.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "7614ad02-e566-4013-bae5-a118ca2e41a0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>weighted_mean</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-01-01 01:00:00</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 02:00:00</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 03:00:00</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 04:00:00</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 05:00:00</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 20:00:00</th>\n",
       "      <td>9654.616819</td>\n",
       "      <td>1526.838185</td>\n",
       "      <td>9466.041052</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 21:00:00</th>\n",
       "      <td>9638.018555</td>\n",
       "      <td>1519.920008</td>\n",
       "      <td>9456.912218</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 22:00:00</th>\n",
       "      <td>9624.108291</td>\n",
       "      <td>1521.229942</td>\n",
       "      <td>9441.317448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 23:00:00</th>\n",
       "      <td>9613.687286</td>\n",
       "      <td>1525.589244</td>\n",
       "      <td>9423.399669</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-03-01 00:00:00</th>\n",
       "      <td>9605.340003</td>\n",
       "      <td>1527.728759</td>\n",
       "      <td>9410.449154</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>45240 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                            mean          std  weighted_mean\n",
       "date_time                                                   \n",
       "2010-01-01 01:00:00          NaN          NaN            NaN\n",
       "2010-01-01 02:00:00          NaN          NaN            NaN\n",
       "2010-01-01 03:00:00          NaN          NaN            NaN\n",
       "2010-01-01 04:00:00          NaN          NaN            NaN\n",
       "2010-01-01 05:00:00          NaN          NaN            NaN\n",
       "...                          ...          ...            ...\n",
       "2015-02-28 20:00:00  9654.616819  1526.838185    9466.041052\n",
       "2015-02-28 21:00:00  9638.018555  1519.920008    9456.912218\n",
       "2015-02-28 22:00:00  9624.108291  1521.229942    9441.317448\n",
       "2015-02-28 23:00:00  9613.687286  1525.589244    9423.399669\n",
       "2015-03-01 00:00:00  9605.340003  1527.728759    9410.449154\n",
       "\n",
       "[45240 rows x 3 columns]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result = (\n",
    "    df[\"demand\"]\n",
    "    .rolling(window=24 * 7)  # Pick window size. Needs to be same as len(weights).\n",
    "    .agg([\"mean\", \"std\", weighted_mean])  # Can include custom functions\n",
    "    .shift(freq=\"1H\")  # Lag by 1 hour to avoid data leakage.\n",
    ")  \n",
    "\n",
    "result"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5ed053f9-e3de-489f-8355-6883d0a8311a",
   "metadata": {},
   "source": [
    "# Using sktime"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "396360ff-fde7-4ab3-8a51-831a87c532f2",
   "metadata": {},
   "source": [
    "Let's see how we can extract weighted rolling window features using the sktime library."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "ea335004-3a60-4dc0-b329-0fe0843cfe78",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sktime.transformations.series.summarize import WindowSummarizer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "73cddf83-3f3c-42e1-afed-835f01214cdb",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create a copy of the data.\n",
    "df = data.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4b005fe5-81a8-4898-90ee-c2b0b343cc9d",
   "metadata": {},
   "source": [
    "As `WindowSummarizer` does not accept arguments for a custom function, we specify the weights in the function itself."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "59cab901-832d-493f-9852-37d0b8c39978",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define our own weighted mean function with weights defined inside\n",
    "def weighted_mean(x):\n",
    "    weights = np.arange(1, 24*7 + 1) # [1, 2, ..., 168]\n",
    "    return (weights * x).sum() / weights.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "81c91000-ac0b-4931-8ed9-daacf8392bfa",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>demand_lag_1</th>\n",
       "      <th>demand_lag_2</th>\n",
       "      <th>demand_lag_3</th>\n",
       "      <th>demand_mean_1_12</th>\n",
       "      <th>demand_mean_1_3</th>\n",
       "      <th>demand_std_1_12</th>\n",
       "      <th>demand_std_3_12</th>\n",
       "      <th>demand_weighted_mean_1_168</th>\n",
       "      <th>temperature</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-01-01 00:00:00</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>21.525</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 01:00:00</th>\n",
       "      <td>8314.448682</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>22.400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 02:00:00</th>\n",
       "      <td>8267.187296</td>\n",
       "      <td>8314.448682</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>22.150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 03:00:00</th>\n",
       "      <td>7394.528444</td>\n",
       "      <td>8267.187296</td>\n",
       "      <td>8314.448682</td>\n",
       "      <td>NaN</td>\n",
       "      <td>7992.054807</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>21.800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 04:00:00</th>\n",
       "      <td>6952.047520</td>\n",
       "      <td>7394.528444</td>\n",
       "      <td>8267.187296</td>\n",
       "      <td>NaN</td>\n",
       "      <td>7537.921087</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>20.250</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 19:00:00</th>\n",
       "      <td>9979.909902</td>\n",
       "      <td>10258.585392</td>\n",
       "      <td>10019.921572</td>\n",
       "      <td>9453.296237</td>\n",
       "      <td>10086.138955</td>\n",
       "      <td>468.988596</td>\n",
       "      <td>658.090105</td>\n",
       "      <td>9466.913081</td>\n",
       "      <td>28.350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 20:00:00</th>\n",
       "      <td>9596.777060</td>\n",
       "      <td>9979.909902</td>\n",
       "      <td>10258.585392</td>\n",
       "      <td>9533.335885</td>\n",
       "      <td>9945.090785</td>\n",
       "      <td>392.623251</td>\n",
       "      <td>555.335360</td>\n",
       "      <td>9466.041052</td>\n",
       "      <td>22.200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 21:00:00</th>\n",
       "      <td>8883.230296</td>\n",
       "      <td>9596.777060</td>\n",
       "      <td>9979.909902</td>\n",
       "      <td>9531.087995</td>\n",
       "      <td>9486.639086</td>\n",
       "      <td>396.572553</td>\n",
       "      <td>468.988596</td>\n",
       "      <td>9456.912218</td>\n",
       "      <td>18.900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 22:00:00</th>\n",
       "      <td>8320.260550</td>\n",
       "      <td>8883.230296</td>\n",
       "      <td>9596.777060</td>\n",
       "      <td>9463.880720</td>\n",
       "      <td>8933.422635</td>\n",
       "      <td>520.347613</td>\n",
       "      <td>392.623251</td>\n",
       "      <td>9441.317448</td>\n",
       "      <td>18.900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 23:00:00</th>\n",
       "      <td>8110.055916</td>\n",
       "      <td>8320.260550</td>\n",
       "      <td>8883.230296</td>\n",
       "      <td>9360.491091</td>\n",
       "      <td>8437.848921</td>\n",
       "      <td>651.581565</td>\n",
       "      <td>396.572553</td>\n",
       "      <td>9423.399669</td>\n",
       "      <td>18.900</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>45240 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     demand_lag_1  demand_lag_2  demand_lag_3  \\\n",
       "date_time                                                       \n",
       "2010-01-01 00:00:00           NaN           NaN           NaN   \n",
       "2010-01-01 01:00:00   8314.448682           NaN           NaN   \n",
       "2010-01-01 02:00:00   8267.187296   8314.448682           NaN   \n",
       "2010-01-01 03:00:00   7394.528444   8267.187296   8314.448682   \n",
       "2010-01-01 04:00:00   6952.047520   7394.528444   8267.187296   \n",
       "...                           ...           ...           ...   \n",
       "2015-02-28 19:00:00   9979.909902  10258.585392  10019.921572   \n",
       "2015-02-28 20:00:00   9596.777060   9979.909902  10258.585392   \n",
       "2015-02-28 21:00:00   8883.230296   9596.777060   9979.909902   \n",
       "2015-02-28 22:00:00   8320.260550   8883.230296   9596.777060   \n",
       "2015-02-28 23:00:00   8110.055916   8320.260550   8883.230296   \n",
       "\n",
       "                     demand_mean_1_12  demand_mean_1_3  demand_std_1_12  \\\n",
       "date_time                                                                 \n",
       "2010-01-01 00:00:00               NaN              NaN              NaN   \n",
       "2010-01-01 01:00:00               NaN              NaN              NaN   \n",
       "2010-01-01 02:00:00               NaN              NaN              NaN   \n",
       "2010-01-01 03:00:00               NaN      7992.054807              NaN   \n",
       "2010-01-01 04:00:00               NaN      7537.921087              NaN   \n",
       "...                               ...              ...              ...   \n",
       "2015-02-28 19:00:00       9453.296237     10086.138955       468.988596   \n",
       "2015-02-28 20:00:00       9533.335885      9945.090785       392.623251   \n",
       "2015-02-28 21:00:00       9531.087995      9486.639086       396.572553   \n",
       "2015-02-28 22:00:00       9463.880720      8933.422635       520.347613   \n",
       "2015-02-28 23:00:00       9360.491091      8437.848921       651.581565   \n",
       "\n",
       "                     demand_std_3_12  demand_weighted_mean_1_168  temperature  \n",
       "date_time                                                                      \n",
       "2010-01-01 00:00:00              NaN                         NaN       21.525  \n",
       "2010-01-01 01:00:00              NaN                         NaN       22.400  \n",
       "2010-01-01 02:00:00              NaN                         NaN       22.150  \n",
       "2010-01-01 03:00:00              NaN                         NaN       21.800  \n",
       "2010-01-01 04:00:00              NaN                         NaN       20.250  \n",
       "...                              ...                         ...          ...  \n",
       "2015-02-28 19:00:00       658.090105                 9466.913081       28.350  \n",
       "2015-02-28 20:00:00       555.335360                 9466.041052       22.200  \n",
       "2015-02-28 21:00:00       468.988596                 9456.912218       18.900  \n",
       "2015-02-28 22:00:00       392.623251                 9441.317448       18.900  \n",
       "2015-02-28 23:00:00       396.572553                 9423.399669       18.900  \n",
       "\n",
       "[45240 rows x 9 columns]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "transformer = WindowSummarizer(\n",
    "    lag_feature={\n",
    "        \"lag\": [1, 2, 3], # Lag features.\n",
    "        \"mean\": [[1, 12], [1, 3]], # [[lag, window size]]\n",
    "        \"std\": [[1, 12], [3, 12]],\n",
    "        weighted_mean: [[1, 24 * 7]], # Can pass custom functions.\n",
    "    },\n",
    "    target_cols=[\"demand\"],\n",
    ")\n",
    "\n",
    "result = transformer.fit_transform(df)\n",
    "result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "8dd876d1-999d-4e78-9f90-f3d496e7c4d0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>demand_lag_1</th>\n",
       "      <th>demand_lag_2</th>\n",
       "      <th>demand_lag_3</th>\n",
       "      <th>demand_mean_1_12</th>\n",
       "      <th>demand_mean_1_3</th>\n",
       "      <th>demand_std_1_12</th>\n",
       "      <th>demand_std_3_12</th>\n",
       "      <th>demand_weighted_mean_1_168</th>\n",
       "      <th>temperature</th>\n",
       "      <th>demand</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date_time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-01-01 00:00:00</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>21.525</td>\n",
       "      <td>8314.448682</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 01:00:00</th>\n",
       "      <td>8314.448682</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>22.400</td>\n",
       "      <td>8267.187296</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 02:00:00</th>\n",
       "      <td>8267.187296</td>\n",
       "      <td>8314.448682</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>22.150</td>\n",
       "      <td>7394.528444</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 03:00:00</th>\n",
       "      <td>7394.528444</td>\n",
       "      <td>8267.187296</td>\n",
       "      <td>8314.448682</td>\n",
       "      <td>NaN</td>\n",
       "      <td>7992.054807</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>21.800</td>\n",
       "      <td>6952.047520</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-01-01 04:00:00</th>\n",
       "      <td>6952.047520</td>\n",
       "      <td>7394.528444</td>\n",
       "      <td>8267.187296</td>\n",
       "      <td>NaN</td>\n",
       "      <td>7537.921087</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>20.250</td>\n",
       "      <td>6867.199634</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 19:00:00</th>\n",
       "      <td>9979.909902</td>\n",
       "      <td>10258.585392</td>\n",
       "      <td>10019.921572</td>\n",
       "      <td>9453.296237</td>\n",
       "      <td>10086.138955</td>\n",
       "      <td>468.988596</td>\n",
       "      <td>658.090105</td>\n",
       "      <td>9466.913081</td>\n",
       "      <td>28.350</td>\n",
       "      <td>9596.777060</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 20:00:00</th>\n",
       "      <td>9596.777060</td>\n",
       "      <td>9979.909902</td>\n",
       "      <td>10258.585392</td>\n",
       "      <td>9533.335885</td>\n",
       "      <td>9945.090785</td>\n",
       "      <td>392.623251</td>\n",
       "      <td>555.335360</td>\n",
       "      <td>9466.041052</td>\n",
       "      <td>22.200</td>\n",
       "      <td>8883.230296</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 21:00:00</th>\n",
       "      <td>8883.230296</td>\n",
       "      <td>9596.777060</td>\n",
       "      <td>9979.909902</td>\n",
       "      <td>9531.087995</td>\n",
       "      <td>9486.639086</td>\n",
       "      <td>396.572553</td>\n",
       "      <td>468.988596</td>\n",
       "      <td>9456.912218</td>\n",
       "      <td>18.900</td>\n",
       "      <td>8320.260550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 22:00:00</th>\n",
       "      <td>8320.260550</td>\n",
       "      <td>8883.230296</td>\n",
       "      <td>9596.777060</td>\n",
       "      <td>9463.880720</td>\n",
       "      <td>8933.422635</td>\n",
       "      <td>520.347613</td>\n",
       "      <td>392.623251</td>\n",
       "      <td>9441.317448</td>\n",
       "      <td>18.900</td>\n",
       "      <td>8110.055916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-02-28 23:00:00</th>\n",
       "      <td>8110.055916</td>\n",
       "      <td>8320.260550</td>\n",
       "      <td>8883.230296</td>\n",
       "      <td>9360.491091</td>\n",
       "      <td>8437.848921</td>\n",
       "      <td>651.581565</td>\n",
       "      <td>396.572553</td>\n",
       "      <td>9423.399669</td>\n",
       "      <td>18.900</td>\n",
       "      <td>8519.368752</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>45240 rows × 10 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     demand_lag_1  demand_lag_2  demand_lag_3  \\\n",
       "date_time                                                       \n",
       "2010-01-01 00:00:00           NaN           NaN           NaN   \n",
       "2010-01-01 01:00:00   8314.448682           NaN           NaN   \n",
       "2010-01-01 02:00:00   8267.187296   8314.448682           NaN   \n",
       "2010-01-01 03:00:00   7394.528444   8267.187296   8314.448682   \n",
       "2010-01-01 04:00:00   6952.047520   7394.528444   8267.187296   \n",
       "...                           ...           ...           ...   \n",
       "2015-02-28 19:00:00   9979.909902  10258.585392  10019.921572   \n",
       "2015-02-28 20:00:00   9596.777060   9979.909902  10258.585392   \n",
       "2015-02-28 21:00:00   8883.230296   9596.777060   9979.909902   \n",
       "2015-02-28 22:00:00   8320.260550   8883.230296   9596.777060   \n",
       "2015-02-28 23:00:00   8110.055916   8320.260550   8883.230296   \n",
       "\n",
       "                     demand_mean_1_12  demand_mean_1_3  demand_std_1_12  \\\n",
       "date_time                                                                 \n",
       "2010-01-01 00:00:00               NaN              NaN              NaN   \n",
       "2010-01-01 01:00:00               NaN              NaN              NaN   \n",
       "2010-01-01 02:00:00               NaN              NaN              NaN   \n",
       "2010-01-01 03:00:00               NaN      7992.054807              NaN   \n",
       "2010-01-01 04:00:00               NaN      7537.921087              NaN   \n",
       "...                               ...              ...              ...   \n",
       "2015-02-28 19:00:00       9453.296237     10086.138955       468.988596   \n",
       "2015-02-28 20:00:00       9533.335885      9945.090785       392.623251   \n",
       "2015-02-28 21:00:00       9531.087995      9486.639086       396.572553   \n",
       "2015-02-28 22:00:00       9463.880720      8933.422635       520.347613   \n",
       "2015-02-28 23:00:00       9360.491091      8437.848921       651.581565   \n",
       "\n",
       "                     demand_std_3_12  demand_weighted_mean_1_168  temperature  \\\n",
       "date_time                                                                       \n",
       "2010-01-01 00:00:00              NaN                         NaN       21.525   \n",
       "2010-01-01 01:00:00              NaN                         NaN       22.400   \n",
       "2010-01-01 02:00:00              NaN                         NaN       22.150   \n",
       "2010-01-01 03:00:00              NaN                         NaN       21.800   \n",
       "2010-01-01 04:00:00              NaN                         NaN       20.250   \n",
       "...                              ...                         ...          ...   \n",
       "2015-02-28 19:00:00       658.090105                 9466.913081       28.350   \n",
       "2015-02-28 20:00:00       555.335360                 9466.041052       22.200   \n",
       "2015-02-28 21:00:00       468.988596                 9456.912218       18.900   \n",
       "2015-02-28 22:00:00       392.623251                 9441.317448       18.900   \n",
       "2015-02-28 23:00:00       396.572553                 9423.399669       18.900   \n",
       "\n",
       "                          demand  \n",
       "date_time                         \n",
       "2010-01-01 00:00:00  8314.448682  \n",
       "2010-01-01 01:00:00  8267.187296  \n",
       "2010-01-01 02:00:00  7394.528444  \n",
       "2010-01-01 03:00:00  6952.047520  \n",
       "2010-01-01 04:00:00  6867.199634  \n",
       "...                          ...  \n",
       "2015-02-28 19:00:00  9596.777060  \n",
       "2015-02-28 20:00:00  8883.230296  \n",
       "2015-02-28 21:00:00  8320.260550  \n",
       "2015-02-28 22:00:00  8110.055916  \n",
       "2015-02-28 23:00:00  8519.368752  \n",
       "\n",
       "[45240 rows x 10 columns]"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = result.join(df[\"demand\"], how=\"left\")\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ddc0f185-f8a3-4fb7-8d55-a818d1f68f73",
   "metadata": {},
   "source": [
    "So now we've shown how to create rolling window features with weights using different libraries. "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
